Обновление до 0.11.0
Синтаксис Schema.yml v2
dbt v0.11.0 добавляет автоматически генерируемый сайт документации в ваш проект dbt. Чтобы эффективно использовать сайт документации, вам нужно использовать новый синтаксис "версии 2" для schema.yml. Для полного объяснения синтаксиса версии 2, ознакомьтесь с разделом Файлы schema.yml документации.
Перевод файлов schema.yml на синтаксис v2
- Вы можете найти скрипт, который переведет файл schema.yml версии 1 на синтаксис версии 2 здесь.
- Вы можете обновить файлы schema.yml версии 1 до синтаксиса версии 2 вручную.
Если вы обновляете до синтаксиса версии 2 вручную, есть некоторые предостережения, о которых следует знать:
1. Некоторые тесты схемы версии 1 не имеют очевидных представлений в спецификации версии 2
Дано:
events:
constraints:
unique:
- id
- "concat(first_name, last_name)"
Представление для этого schema.yml в версии 2:
models:
- name: events
tests:
- unique: "concat(first_name, last_name)"
columns:
- name: id
tests:
- unique
Обратите внимание, что выражение, предоставленное в качестве теста на уникальность, не относится к одному столбцу, поэтому оно должно быть создано как тест на уровне модели.
2. Вывод аргументов для пользовательских тестов схемы
Если вы используете пользовательский тест схемы в файле schema.yml версии 1, может быть неочевидно, как перевести тест на синтаксис версии 2. В общем, вы всегда можете сделать тест на уровне модели, как показано ниже.
Дано:
events:
constraints:
dbt_utils.recency:
- {field: created_at, datepart: day, interval: 1}
Представление для этого schema.yml в версии 2 может быть:
models:
- name: events
tests:
- dbt_utils.recency:
field: created_at
datepart: day
interval: 1
Настройки кавычек по умолчанию для Snowflake
Настройка кавычек по умолчанию в Snowflake изменилась с включено на выключено по умолчанию. Если вы еще этого не сделали, вам следует добавить настройку кавычек в ваш файл dbt_project.yml
. Чтобы использовать точно такое же поведение кавычек, как в версии 0.10.2, добавьте эту настройку в ваш файл dbt_project.yml
:
quoting:
schema: true
identifier: true